/*
 泛型的作用：使用泛型可以减少重复的代码
 封装函数：接收字符串就返回字符串，接收数字就返回数字，接收bool就返回bool
 */
void main() {
  // 1. 普通封装
  // String demoString(String str) {
  //   return str;
  // }   

  // int demoInt(int a) {
  //   return a;
  // }

  // bool demoBool(bool b) {
  //   return b;
  // }

  // 2. 基于泛型封装
  T demo<T>(T parm) {
    return parm;
  }

  // 调用
  String ret1 = demo<String>('itcast');
  print(ret1);
  int ret2 = demo<int>(17);
  print(ret2);
  bool ret3 = demo<bool>(true);
  print(ret3);
}